home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 376-400 / disk_386 / xlispstat / src2.lzh / XLisp-Stat / objectinit.c < prev    next >
C/C++ Source or Header  |  1990-10-04  |  20KB  |  575 lines

  1. /* objects - Additional object functions                               */
  2. /* XLISP-STAT 2.1 Copyright (c) 1990, by Luke Tierney                  */
  3. /* Additions to Xlisp 2.1, Copyright (c) 1989 by David Michael Betz    */
  4. /* You may give out copies of this software; for conditions see the    */
  5. /* file COPYING included with this distribution.                       */
  6.  
  7. #include "xlisp.h"
  8. #include "osdef.h"
  9. #ifdef ANSI
  10. #include "xlsproto.h"
  11. #include "iviewproto.h"
  12. #else
  13. #include "xlsfun.h"
  14. #include "iviewfun.h"
  15. #endif ANSI
  16. #include "xlsvar.h"
  17.  
  18. void init_objects()
  19. {
  20.   LVAL root_object = init_root_object();
  21.   LVAL hardware_object, window;
  22. #ifdef MACINTOSH
  23.   LVAL edit_window, listener;
  24. #endif MACINTOSH
  25.   LVAL menu;
  26. #ifdef MACINTOSH
  27.   LVAL apple_menu;
  28. #endif MACINTOSH
  29.   LVAL menu_item, dialog, dialog_item, button_item, toggle_item;
  30.   LVAL text_item, choice_item, scroll_item, list_item;
  31.   LVAL iview_window, iview, iview_spin, iview_scatmat, iview_list;
  32.   LVAL iview_hist, scatterplot, compound_data;
  33.   
  34.   /* *OBJECT* */
  35.   xsaddmsg(root_object, ":GET-METHOD");
  36.   xsaddmsg(root_object, ":REPARENT");
  37.   xsaddmsg(root_object, ":HAS-SLOT");
  38.   xsaddmsg(root_object, ":HAS-METHOD");
  39.   xsaddmsg(root_object, ":ADD-SLOT");
  40.   xsaddmsg(root_object, ":DELETE-SLOT");
  41.   xsaddmsg(root_object, ":ADD-METHOD");
  42.   xsaddmsg(root_object, ":DELETE-METHOD");
  43.   xsaddmsg(root_object, ":SHOW");
  44.   xsaddmsg(root_object, ":ISNEW");
  45.   xsaddmsg(root_object, ":PARENTS");
  46.   xsaddmsg(root_object, ":PRECEDENCE-LIST");
  47.   xsaddmsg(root_object, ":OWN-SLOTS");
  48.   xsaddmsg(root_object, ":OWN-METHODS");
  49.   xsaddmsg(root_object, ":INTERNAL-DOC");
  50.   xsaddmsg(root_object, ":MAKE-PROTOTYPE");
  51.   
  52.   /* HARDWARE-OBJECT-PROTO */
  53.   hardware_object = xsnewproto("HARDWARE-OBJECT-PROTO", root_object);
  54.   xsaddinstanceslot(hardware_object, "HARDWARE-ADDRESS");
  55.   xsaddinstanceslot(hardware_object, "SUBORDINATES");
  56.   xsaddmsg(hardware_object, ":CLOBBER");
  57.   xsaddmsg(hardware_object, ":ALLOCATE");
  58.   xsaddmsg(hardware_object, ":DISPOSE");
  59.   
  60.   /* WINDOW-PROTO */
  61.   window = xsnewproto("WINDOW-PROTO", hardware_object);
  62.   xsaddinstanceslot(window, "GO-AWAY");
  63.   xsaddinstanceslot(window, "SIZE");
  64.   xsaddinstanceslot(window, "LOCATION");
  65.   xsaddinstanceslot(window, "TITLE");
  66.   xsaddmsg(window, ":SHOW-WINDOW");
  67.   xsaddmsg(window, ":HIDE-WINDOW");
  68.   xsaddmsg(window, ":CLOSE");
  69.   xsaddmsg(window, ":TITLE");
  70.   xsaddmsg(window, ":LOCATION");
  71.   xsaddmsg(window, ":SIZE");
  72.   xsaddmsg(window, ":FRAME-LOCATION");
  73.   xsaddmsg(window, ":FRAME-SIZE");
  74.   xsaddmsg(window, ":UNDO");
  75.   xsaddmsg(window, ":CUT-TO-CLIP");
  76.   xsaddmsg(window, ":COPY-TO-CLIP");
  77.   xsaddmsg(window, ":PASTE-FROM-CLIP");
  78.   xsaddmsg(window, ":CLEAR");
  79.   xsaddmsg(window, ":PASTE-STREAM");
  80.   xsaddmsg(window, ":PASTE-STRING");
  81.   xsaddmsg(window, ":SELECTION-STREAM");
  82.   xsaddmsg(window, ":ACTIVATE");
  83.   xsaddmsg(window, ":UPDATE");
  84.   xsaddmsg(window, ":FIND");
  85.   
  86. #ifdef MACINTOSH  
  87.   /* EDIT-WINDOW-PROTO */
  88.   edit_window = xsnewproto("EDIT-WINDOW-PROTO", window);
  89.   xsaddinstanceslot(edit_window, "BIND-TO-FILE");
  90.   xsaddinstanceslot(edit_window, "OUTPUT-STREAM");
  91.   xsaddinstanceslot(edit_window, "INPUT-ENABLED");
  92.   xsaddmsg(edit_window, ":ISNEW");
  93.   xsaddmsg(edit_window, ":ALLOCATE");
  94.   xsaddmsg(edit_window, ":CUT-TO-CLIP");
  95.   xsaddmsg(edit_window, ":COPY-TO-CLIP");
  96.   xsaddmsg(edit_window, ":PASTE-FROM-CLIP");
  97.   xsaddmsg(edit_window, ":REVERT");
  98.   xsaddmsg(edit_window, ":SAVE");
  99.   xsaddmsg(edit_window, ":SAVE-AS");
  100.   xsaddmsg(edit_window, ":SAVE-COPY");
  101.   xsaddmsg(edit_window, ":PASTE-STREAM");
  102.   xsaddmsg(edit_window, ":PASTE-STRING");
  103.   xsaddmsg(edit_window, ":FLUSH-WINDOW");
  104.   xsaddmsg(edit_window, ":SELECTION-STREAM");
  105.   xsaddmsg(edit_window, ":CLOSE");
  106.   xsaddmsg(edit_window, ":REMOVE");
  107.   xsaddmsg(edit_window, ":DISPOSE");
  108.   xsaddmsg(edit_window, ":ACTIVATE");
  109.   xsaddmsg(edit_window, ":UPDATE");
  110.   xsaddmsg(edit_window, ":FIND-STRING");
  111.  
  112.   /* LISTENER-PROTO */
  113.   listener = xsnewproto("LISTENER-PROTO", edit_window);
  114.   xsaddinstanceslot(listener, "INPUT-STREAM");
  115.   xsaddmsg(listener, ":ISNEW");
  116.   xsaddmsg(listener, ":ALLOCATE");
  117.   xsaddmsg(listener, ":CLOSE");
  118.   xsaddmsg(listener, ":REMOVE");
  119.   xsaddmsg(listener, ":DISPOSE");
  120. #endif MACINTOSH
  121.  
  122.   /* MENU-PROTO */
  123.   menu = xsnewproto("MENU-PROTO", hardware_object);
  124.   xsaddinstanceslot(menu, "ID");
  125.   xsaddinstanceslot(menu, "ENABLED");
  126.   xsaddinstanceslot(menu, "ITEMS");
  127.   xsaddinstanceslot(menu, "TITLE");
  128.   xsaddslot(menu, "MENU-LIST");
  129.   xsaddmsg(menu, ":ISNEW");
  130.   xsaddmsg(menu, ":ALLOCATE");
  131.   xsaddmsg(menu, ":DISPOSE");
  132.   xsaddmsg(menu, ":INSTALL");
  133.   xsaddmsg(menu, ":REMOVE");
  134.   xsaddmsg(menu, ":ENABLED");
  135.   xsaddmsg(menu, ":UPDATE");
  136.   xsaddmsg(menu, ":ALLOCATED-P");
  137.   xsaddmsg(menu, ":TITLE");
  138.   xsaddmsg(menu, ":ITEMS");
  139.   xsaddmsg(menu, ":INSTALLED-P");
  140.   xsaddmsg(menu, ":APPEND-ITEMS");
  141.   xsaddmsg(menu, ":DELETE-ITEMS");
  142.   xsaddmsg(menu, ":SELECT");
  143.   xsaddmsg(menu, ":POPUP");
  144.  
  145. #ifdef MACINTOSH
  146.   /* APPLE-MENU-PROTO */
  147.   apple_menu = xsnewproto("APPLE-MENU-PROTO", menu);
  148.   xsaddmsg(apple_menu, ":ISNEW");
  149.   xsaddmsg(apple_menu, ":SELECT");
  150. #endif MACINTOSH
  151.  
  152.   /* MENU-ITEM-PROTO */
  153.   menu_item = xsnewproto("MENU-ITEM-PROTO", root_object);
  154.   xsaddinstanceslot(menu_item, "MENU");
  155.   xsaddinstanceslot(menu_item, "ENABLED");
  156.   xsaddinstanceslot(menu_item, "ACTION");
  157.   xsaddinstanceslot(menu_item, "STYLE");
  158.   xsaddinstanceslot(menu_item, "MARK");
  159.   xsaddinstanceslot(menu_item, "KEY");
  160.   xsaddinstanceslot(menu_item, "TITLE");
  161.   xsaddmsg(menu_item, ":ISNEW");
  162.   xsaddmsg(menu_item, ":TITLE");
  163.   xsaddmsg(menu_item, ":KEY");
  164.   xsaddmsg(menu_item, ":MARK");
  165.   xsaddmsg(menu_item, ":STYLE");
  166.   xsaddmsg(menu_item, ":ACTION");
  167.   xsaddmsg(menu_item, ":ENABLED");
  168.   xsaddmsg(menu_item, ":INSTALLED-P");
  169.   xsaddmsg(menu_item, ":UPDATE");
  170.   xsaddmsg(menu_item, ":DO-ACTION");
  171.  
  172.   /* DIALOG-PROTO */
  173.   dialog = xsnewproto("DIALOG-PROTO", window);
  174.   xsaddinstanceslot(dialog, "DEFAULT-BUTTON");
  175.   xsaddinstanceslot(dialog, "ITEMS");
  176.   xsaddinstanceslot(dialog, "TYPE");
  177.   xsaddslot(dialog, "DIALOG-LIST");
  178.   xsaddmsg(dialog, ":ISNEW");
  179.   xsaddmsg(dialog, ":ALLOCATE");
  180.   xsaddmsg(dialog, ":REMOVE");
  181.   xsaddmsg(dialog, ":DISPOSE");
  182.   xsaddmsg(dialog, ":CLOSE");
  183.   xsaddmsg(dialog, ":ALLOCATED-P");
  184.   xsaddmsg(dialog, ":DEFAULT-BUTTON");
  185.   xsaddmsg(dialog, ":MODAL-DIALOG");
  186.  
  187.   /* DIALOG-ITEM-PROTO */
  188.   dialog_item = xsnewproto("DIALOG-ITEM-PROTO", root_object);
  189.   xsaddinstanceslot(dialog_item, "DIALOG");
  190.   xsaddinstanceslot(dialog_item, "ACTION");
  191.   xsaddinstanceslot(dialog_item, "SIZE");
  192.   xsaddinstanceslot(dialog_item, "LOCATION");
  193.   xsaddinstanceslot(dialog_item, "TEXT");
  194. #ifdef X11WINDOWS
  195.   xsaddinstanceslot(dialog_item, "WINDOW-ID");
  196. #endif X11WINDOWS
  197.   xsaddmsg(dialog_item, ":DO-ACTION");
  198.   xsaddmsg(dialog_item, ":ACTION");
  199.  
  200.   /* BUTTON-ITEM-PROTO */
  201.   button_item = xsnewproto("BUTTON-ITEM-PROTO", dialog_item);
  202.   xsaddmsg(button_item, ":ISNEW");
  203.  
  204.   /* TOGGLE-ITEM-PROTO */
  205.   toggle_item = xsnewproto("TOGGLE-ITEM-PROTO", dialog_item);
  206.   xsaddinstanceslot(toggle_item, "VALUE");
  207.   xsaddmsg(toggle_item, ":ISNEW");
  208.   xsaddmsg(toggle_item, ":VALUE");
  209.  
  210.   /* TEXT-ITEM-PROTO */
  211.   text_item = xsnewproto("TEXT-ITEM-PROTO", dialog_item);
  212.   xsaddinstanceslot(text_item, "TEXT-LENGTH");
  213.   xsaddinstanceslot(text_item, "EDITABLE");
  214.   xsaddmsg(text_item, ":ISNEW");
  215.   xsaddmsg(text_item, ":TEXT");
  216.  
  217.   /* CHOICE-ITEM-PROTO */
  218.   choice_item = xsnewproto("CHOICE-ITEM-PROTO", dialog_item);
  219.   xsaddinstanceslot(choice_item, "VALUE");
  220.   xsaddmsg(choice_item, ":ISNEW");
  221.   xsaddmsg(choice_item, ":VALUE");
  222.  
  223.   /* SCROLL-ITEM-PROTO */
  224.   scroll_item = xsnewproto("SCROLL-ITEM-PROTO", dialog_item);
  225.   xsaddinstanceslot(scroll_item, "VALUE");
  226.   xsaddinstanceslot(scroll_item, "PAGE-INCREMENT");
  227.   xsaddinstanceslot(scroll_item, "MAX-VALUE");
  228.   xsaddinstanceslot(scroll_item, "MIN-VALUE");
  229.   xsaddmsg(scroll_item, ":ISNEW");
  230.   xsaddmsg(scroll_item, ":VALUE");
  231.   xsaddmsg(scroll_item, ":MAX-VALUE");
  232.   xsaddmsg(scroll_item, ":MIN-VALUE");
  233.   xsaddmsg(scroll_item, ":SCROLL-ACTION");
  234.  
  235.   /* LIST-ITEM-PROTO */
  236.   list_item = xsnewproto("LIST-ITEM-PROTO", dialog_item);
  237.   xsaddinstanceslot(list_item, "COLUMNS");
  238.   xsaddinstanceslot(list_item, "LIST-DATA");
  239.   xsaddinstanceslot(list_item, "MULTIPLE");
  240.   xsaddinstanceslot(list_item, "INTERNALS");
  241.   xsaddmsg(list_item, ":ISNEW");
  242.   xsaddmsg(list_item, ":DO-ACTION");
  243.   xsaddmsg(list_item, ":SET-TEXT");
  244.   xsaddmsg(list_item, ":SELECTION");
  245.  
  246.   /* GRAPH-WINDOW-PROTO */
  247.   iview_window = xsnewproto("GRAPH-WINDOW-PROTO", window);
  248.   xsaddinstanceslot(iview_window, "INTERNALS");
  249.   xsaddinstanceslot(iview_window, "MENU-TITLE");
  250.   xsaddinstanceslot(iview_window, "HAS-V-SCROLL");
  251.   xsaddinstanceslot(iview_window, "HAS-H-SCROLL");
  252.   xsaddinstanceslot(iview_window, "BLACK-ON-WHITE");
  253.   xsaddinstanceslot(iview_window, "MENU");
  254.   xssetslotval(iview_window, "GO-AWAY", s_true);
  255.   xssetslotval(iview_window, "BLACK-ON-WHITE", s_true);
  256.   initialize_graph_window(iview_window);
  257.  
  258.   xsaddmsg(iview_window, ":ISNEW");
  259.   xsaddmsg(iview_window, ":ALLOCATE");
  260.  
  261.   xsaddmsg(iview_window, ":IDLE-ON");
  262.  
  263.   xsaddmsg(iview_window, ":MENU");
  264.  
  265.   xsaddmsg(iview_window, ":UPDATE");
  266.   xsaddmsg(iview_window, ":ACTIVATE");
  267.   xsaddmsg(iview_window, ":REMOVE");
  268.   xsaddmsg(iview_window, ":DISPOSE");
  269.   xsaddmsg(iview_window, ":CLOSE");
  270.   xsaddmsg(iview_window, ":WHILE-BUTTON-DOWN");
  271.   xsaddmsg(iview_window, ":SHOW-WINDOW");
  272.   xsaddmsg(iview_window, ":NEW-MENU");
  273.   xsaddmsg(iview_window, ":RESIZE");
  274.   xsaddmsg(iview_window, ":REDRAW");
  275.   xsaddmsg(iview_window, ":DO-IDLE");
  276.   xsaddmsg(iview_window, ":DO-CLICK");
  277.   xsaddmsg(iview_window, ":DO-MOTION");
  278.   xsaddmsg(iview_window, ":DO-KEY");
  279.   xsaddmsg(iview_window, ":DO-BUTTON-DOWN");
  280.   
  281.   xsaddmsg(iview_window, ":CANVAS-WIDTH");
  282.   xsaddmsg(iview_window, ":CANVAS-HEIGHT");
  283.   xsaddmsg(iview_window, ":LINE-TYPE");
  284.   xsaddmsg(iview_window, ":DRAW-MODE");
  285.   xsaddmsg(iview_window, ":DRAW-COLOR");
  286.   xsaddmsg(iview_window, ":BACK-COLOR");
  287.   xsaddmsg(iview_window, ":USE-COLOR");
  288.   xsaddmsg(iview_window, ":REVERSE-COLORS");
  289.   xsaddmsg(iview_window, ":VIEW-RECT");
  290.   xsaddmsg(iview_window, ":LINE-WIDTH");
  291.   xsaddmsg(iview_window, ":CLIP-RECT");
  292.   xsaddmsg(iview_window, ":CURSOR");
  293.  
  294.   xsaddmsg(iview_window, ":HAS-H-SCROLL");
  295.   xsaddmsg(iview_window, ":HAS-V-SCROLL");
  296.   xsaddmsg(iview_window, ":SCROLL");
  297.   xsaddmsg(iview_window, ":H-SCROLL-INCS");
  298.   xsaddmsg(iview_window, ":V-SCROLL-INCS");
  299.  
  300.   xsaddmsg(iview_window, ":DRAW-LINE");
  301.   xsaddmsg(iview_window, ":DRAW-POINT");
  302.   xsaddmsg(iview_window, ":ERASE-RECT");
  303.   xsaddmsg(iview_window, ":FRAME-RECT");
  304.   xsaddmsg(iview_window, ":PAINT-RECT");
  305.   xsaddmsg(iview_window, ":ERASE-OVAL");
  306.   xsaddmsg(iview_window, ":FRAME-OVAL");
  307.   xsaddmsg(iview_window, ":PAINT-OVAL");
  308.   xsaddmsg(iview_window, ":ERASE-ARC");
  309.   xsaddmsg(iview_window, ":FRAME-ARC");
  310.   xsaddmsg(iview_window, ":PAINT-ARC");
  311.   xsaddmsg(iview_window, ":ERASE-POLY");
  312.   xsaddmsg(iview_window, ":FRAME-POLY");
  313.   xsaddmsg(iview_window, ":PAINT-POLY");
  314.  
  315.   xsaddmsg(iview_window, ":TEXT-ASCENT");
  316.   xsaddmsg(iview_window, ":TEXT-DESCENT");
  317.   xsaddmsg(iview_window, ":TEXT-WIDTH");
  318.   xsaddmsg(iview_window, ":DRAW-STRING");
  319.   xsaddmsg(iview_window, ":DRAW-STRING-UP");
  320.   xsaddmsg(iview_window, ":DRAW-TEXT");
  321.   xsaddmsg(iview_window, ":DRAW-TEXT-UP");
  322.  
  323.   xsaddmsg(iview_window, ":DRAW-SYMBOL");
  324.   xsaddmsg(iview_window, ":REPLACE-SYMBOL");
  325.  
  326.   xsaddmsg(iview_window, ":START-BUFFERING");
  327.   xsaddmsg(iview_window, ":BUFFER-TO-SCREEN");
  328.  
  329. #ifdef MACINTOSH
  330.   xsaddmsg(iview_window, ":COPY-TO-CLIP");
  331. #endif MACINTOSH
  332.   xsaddmsg(iview_window, ":DRAG-GREY-RECT");
  333.   xsaddmsg(iview_window, ":IMAGE-TO-FILE");
  334.   xsaddmsg(iview_window, ":DRAW-BITMAP");
  335.   
  336.   /* GRAPH-PROTO */
  337.   iview = xsnewproto("GRAPH-PROTO", iview_window);
  338.   xsaddinstanceslot(iview, "SLICERS");
  339.   xsaddinstanceslot(iview, "MOUSE-MODE");
  340.   xsaddinstanceslot(iview, "FIXED-ASPECT");
  341.   xsaddinstanceslot(iview, "SHOWING-LABELS");
  342.   xsaddinstanceslot(iview, "VARIABLE-LABELS");
  343.   xsaddinstanceslot(iview, "NUMBER-OF-VARIABLES");
  344.   xsaddinstanceslot(iview, "MENU-TEMPLATE");
  345.   xsaddinstanceslot(iview, "OPTIONS-TEMPLATE");
  346.   xsaddinstanceslot(iview, "SCALE-TYPE");
  347.   xsaddinstanceslot(iview, "OVERLAYS");
  348.   xssetslotval(iview, "MOUSE-MODE", s_selecting);
  349.   xsaddslot(iview, "MODE-LIST");
  350.   initialize_graph(iview);
  351.  
  352.   xsaddmsg(iview, ":ISNEW");
  353.   xsaddmsg(iview, ":ALLOCATE");
  354.  
  355.   xsaddmsg(iview, ":RESIZE");
  356.   xsaddmsg(iview, ":REDRAW");
  357.   xsaddmsg(iview, ":REDRAW-BACKGROUND");
  358.   xsaddmsg(iview, ":REDRAW-CONTENT");
  359.   xsaddmsg(iview, ":REDRAW-OVERLAYS");
  360.   xsaddmsg(iview, ":RESIZE-OVERLAYS");
  361.   xsaddmsg(iview, ":OVERLAY-CLICK");
  362.   xsaddmsg(iview, ":ADJUST-SCREEN");
  363.   xsaddmsg(iview, ":ADJUST-POINTS-IN-RECT");
  364.   xsaddmsg(iview, ":ADJUST-SCREEN-POINT");
  365.   xsaddmsg(iview, ":MARK-POINTS-IN-RECT");
  366.  
  367.   xsaddmsg(iview, ":CONTENT-RECT");
  368.   xsaddmsg(iview, ":CONTENT-ORIGIN");
  369.   xsaddmsg(iview, ":CONTENT-VARIABLES");
  370.   xsaddmsg(iview, ":CLICK-RANGE");
  371.   xsaddmsg(iview, ":MOUSE-MODE");
  372.   xsaddmsg(iview, ":SHOWING-LABELS");
  373.   xsaddmsg(iview, ":MARGIN");
  374.   xsaddmsg(iview, ":FIXED-ASPECT");
  375.   xsaddmsg(iview, ":NEEDS-ADJUSTING");
  376.  
  377.   xsaddmsg(iview, ":X-AXIS");
  378.   xsaddmsg(iview, ":Y-AXIS");
  379.  
  380.   xsaddmsg(iview, ":BRUSH");
  381.   xsaddmsg(iview, ":ERASE-BRUSH");
  382.   xsaddmsg(iview, ":DRAW-BRUSH");
  383.   xsaddmsg(iview, ":MOVE-BRUSH");
  384.   xsaddmsg(iview, ":RESIZE-BRUSH");
  385.  
  386.   xsaddmsg(iview, ":DO-CLICK");
  387.   xsaddmsg(iview, ":DO-MOTION");
  388.   xsaddmsg(iview, ":DO-SELECT-CLICK");
  389.   xsaddmsg(iview, ":DO-BRUSH-CLICK");
  390.   xsaddmsg(iview, ":DO-BRUSH-MOTION");
  391.   xsaddmsg(iview, ":UNSELECT-ALL-POINTS");
  392.   xsaddmsg(iview, ":ERASE-SELECTION");
  393.   xsaddmsg(iview, ":MASK-SELECTION");
  394.   xsaddmsg(iview, ":UNMASK-ALL-POINTS");
  395.   xsaddmsg(iview, ":POINTS-SHOWING");
  396.   xsaddmsg(iview, ":POINTS-HILITED");
  397.   xsaddmsg(iview, ":POINTS-SELECTED");
  398.   xsaddmsg(iview, ":SELECTION");
  399.   xsaddmsg(iview, ":SHOW-ALL-POINTS");
  400.   xsaddmsg(iview, ":ALL-POINTS-SHOWING-P");
  401.   xsaddmsg(iview, ":ALL-POINTS-UNMASKED-P");
  402.   xsaddmsg(iview, ":ANY-POINTS-SELECTED-P");
  403.  
  404.   xsaddmsg(iview, ":LINKED");
  405. #ifndef OLDLINKS
  406.   xsaddmsg(iview, ":LINKS");
  407. #endif OLDLINKS
  408.  
  409.   xsaddmsg(iview, ":NUM-VARIABLES");
  410.   xsaddmsg(iview, ":VARIABLE-LABEL");
  411.   xsaddmsg(iview, ":RANGE");
  412.   xsaddmsg(iview, ":SCALED-RANGE");
  413.   xsaddmsg(iview, ":CANVAS-RANGE");
  414.   xsaddmsg(iview, ":TRANSFORMATION");
  415.   xsaddmsg(iview, ":APPLY-TRANSFORMATION");
  416.  
  417.   xsaddmsg(iview, ":ADD-POINTS");
  418.   xsaddmsg(iview, ":CLEAR-POINTS");
  419.   xsaddmsg(iview, ":NUM-POINTS");
  420.   xsaddmsg(iview, ":POINT-COORDINATE");
  421.   xsaddmsg(iview, ":POINT-CANVAS-COORDINATE");
  422.   xsaddmsg(iview, ":POINT-TRANSFORMED-COORDINATE");
  423.   xsaddmsg(iview, ":POINT-MASKED");
  424.   xsaddmsg(iview, ":POINT-COLOR");
  425.   xsaddmsg(iview, ":POINT-STATE");
  426.   xsaddmsg(iview, ":LAST-POINT-STATE");
  427.   xsaddmsg(iview, ":POINT-MARKED");
  428.   xsaddmsg(iview, ":POINT-LABEL");
  429.   xsaddmsg(iview, ":POINT-SYMBOL");
  430.   xsaddmsg(iview, ":POINT-SELECTED");
  431.   xsaddmsg(iview, ":POINT-HILITED");
  432.   xsaddmsg(iview, ":POINT-SHOWING");
  433.  
  434.   xsaddmsg(iview, ":ADD-LINES");
  435.   xsaddmsg(iview, ":CLEAR-LINES");
  436.   xsaddmsg(iview, ":NUM-LINES");
  437.   xsaddmsg(iview, ":LINESTART-COORDINATE");
  438.   xsaddmsg(iview, ":LINESTART-CANVAS-COORDINATE");
  439.   xsaddmsg(iview, ":LINESTART-TRANSFORMED-COORDINATE");
  440.   xsaddmsg(iview, ":LINESTART-MASKED");
  441.   xsaddmsg(iview, ":LINESTART-COLOR");
  442.   xsaddmsg(iview, ":LINESTART-NEXT");
  443.   xsaddmsg(iview, ":LINESTART-TYPE");
  444.   xsaddmsg(iview, ":LINESTART-WIDTH");
  445.  
  446. #ifdef USESTRINGS
  447.   xsaddmsg(iview, ":ADD-STRINGS");
  448.   xsaddmsg(iview, ":CLEAR-STRINGS");
  449.   xsaddmsg(iview, ":NUM-STRINGS");
  450.   xsaddmsg(iview, ":STRING-COORDINATE");
  451.   xsaddmsg(iview, ":STRING-CANVAS-COORDINATE");
  452.   xsaddmsg(iview, ":STRING-TRANSFORMED-COORDINATE");
  453.   xsaddmsg(iview, ":STRING-MASKED");
  454.   xsaddmsg(iview, ":STRING-COLOR");
  455.   xsaddmsg(iview, ":STRING-MODIFIERS");
  456. #endif /* USESTRINGS */
  457.   
  458.   xsaddmsg(iview, ":DRAW-DATA-POINTS");
  459.   xsaddmsg(iview, ":DRAW-DATA-LINES");
  460. #ifdef USESTRINGS
  461.   xsaddmsg(iview, ":DRAW-DATA-STRINGS");
  462. #endif /* USESTRINGS */
  463.  
  464.   xsaddmsg(iview, ":ROTATE-2");
  465.  
  466.   xsaddmsg(iview, ":ADJUST-TO-DATA");
  467.   xsaddmsg(iview, ":VISIBLE-RANGE");
  468.   xsaddmsg(iview, ":SCALE-TO-RANGE");
  469.   xsaddmsg(iview, ":SCALE");
  470.   xsaddmsg(iview, ":SHIFT");
  471.  
  472.   xsaddmsg(iview, ":CLEAR-MASKS");
  473.   xsaddmsg(iview, ":SLICE-VARIABLE");
  474.   xsaddmsg(iview, ":REAL-TO-CANVAS");
  475.   xsaddmsg(iview, ":CANVAS-TO-REAL");
  476.   xsaddmsg(iview, ":SCALED-TO-CANVAS");
  477.   xsaddmsg(iview, ":CANVAS-TO-SCALED");
  478.   xsaddmsg(iview, ":POINTS-IN-RECT");
  479.   xsaddmsg(iview, ":ADJUST-DEPTH-CUING");
  480.  
  481.   /* SPIN-PROTO */
  482.   iview_spin = xsnewproto("SPIN-PROTO", iview);
  483.   xsaddinstanceslot(iview_spin, "SHOWING-AXES");
  484.   xsaddinstanceslot(iview_spin, "DEPTH-CUING");
  485.   xsaddinstanceslot(iview_spin, "CONTENT-VARIABLES");
  486.   xsaddinstanceslot(iview_spin, "ROTATION-TYPE");
  487.   xsaddinstanceslot(iview_spin, "ROTATION-ANGLE");
  488.   xsaddinstanceslot(iview_spin, "ROTATION-CONTROLS");
  489.   initialize_graph(iview_spin);
  490.  
  491.   xsaddmsg(iview_spin, ":ALLOCATE");
  492.  
  493.   xsaddmsg(iview_spin, ":CONTENT-VARIABLES");
  494.   xsaddmsg(iview_spin, ":SHOWING-AXES");
  495.   xsaddmsg(iview_spin, ":DEPTH-CUING");
  496.   xsaddmsg(iview_spin, ":RESIZE");
  497.   xsaddmsg(iview_spin, ":REDRAW-CONTENT");
  498.   xsaddmsg(iview_spin, ":DO-IDLE");
  499.   xsaddmsg(iview_spin, ":ANGLE");
  500.   xsaddmsg(iview_spin, ":ROTATE");
  501.   xsaddmsg(iview_spin, ":DRAW-AXES");
  502.  
  503.   /* SCATMAT-PROTO */
  504.   iview_scatmat = xsnewproto("SCATMAT-PROTO", iview);
  505.   initialize_graph(iview_scatmat);
  506.  
  507.   xsaddmsg(iview_scatmat, ":ALLOCATE");
  508.  
  509.   xsaddmsg(iview_scatmat, ":RESIZE");
  510.   xsaddmsg(iview_scatmat, ":REDRAW-BACKGROUND");
  511.   xsaddmsg(iview_scatmat, ":REDRAW-CONTENT");
  512.   xsaddmsg(iview_scatmat, ":DO-CLICK");
  513.   xsaddmsg(iview_scatmat, ":DO-MOTION");
  514.   xsaddmsg(iview_scatmat, ":ADD-POINTS");
  515.   xsaddmsg(iview_scatmat, ":ADD-LINES");
  516. #ifdef USESTRINGS
  517.   xsaddmsg(iview_scatmat, ":ADD-STRINGS");
  518. #endif /* USESTRINGS */
  519.   xsaddmsg(iview_scatmat, ":ADJUST-SCREEN-POINT");
  520.   xsaddmsg(iview_scatmat, ":ADJUST-POINTS-IN-RECT");
  521.   xsaddmsg(iview_scatmat, ":MARK-POINTS-IN-RECT");
  522.   
  523.   /* NAME-LIST-PROTO */
  524.   iview_list = xsnewproto("NAME-LIST-PROTO", iview);
  525.   initialize_graph(iview_list);
  526.  
  527.   xsaddmsg(iview_list, ":ALLOCATE");
  528.  
  529.   xsaddmsg(iview_list, ":REDRAW-BACKGROUND");
  530.   xsaddmsg(iview_list, ":REDRAW-CONTENT");
  531.   xsaddmsg(iview_list, ":ADD-POINTS");
  532.   xsaddmsg(iview_list, ":ADJUST-SCREEN-POINT");
  533.   xsaddmsg(iview_list, ":ADJUST-POINTS-IN-RECT");
  534.   xsaddmsg(iview_list, ":MARK-POINTS-IN-RECT");
  535.  
  536.   /* HISTOGRAM-PROTO */
  537.   iview_hist = xsnewproto("HISTOGRAM-PROTO", iview);
  538.   xsaddinstanceslot(iview_hist, "HISTOGRAM-INTERNALS");
  539.   initialize_graph(iview_hist);
  540.   newhistinternals(iview_hist);
  541.  
  542.   xsaddmsg(iview_hist, ":ISNEW");
  543.   xsaddmsg(iview_hist, ":ALLOCATE");
  544.  
  545.   xsaddmsg(iview_hist, ":ADD-POINTS");
  546.   xsaddmsg(iview_hist, ":CLEAR-POINTS");
  547.   xsaddmsg(iview_hist, ":RESIZE");
  548.   xsaddmsg(iview_hist, ":REDRAW-CONTENT");
  549.   xsaddmsg(iview_hist, ":ADJUST-SCREEN");
  550.   xsaddmsg(iview_hist, ":NUM-BINS");
  551.   xsaddmsg(iview_hist, ":BIN-COUNTS");
  552.   xsaddmsg(iview_hist, ":ADJUST-TO-DATA");
  553.   xsaddmsg(iview_hist, ":ADJUST-SCREEN-POINT");
  554.   xsaddmsg(iview_hist, ":ADJUST-POINTS-IN-RECT");
  555.   xsaddmsg(iview_hist, ":MARK-POINTS-IN-RECT");
  556.  
  557.   /* SCATTERPLOT-PROTO */
  558.   scatterplot = xsnewproto("SCATTERPLOT-PROTO", iview);
  559.   initialize_graph(scatterplot);
  560.  
  561.   xsaddmsg(scatterplot, ":ADD-POINTS");
  562.   xsaddmsg(scatterplot, ":ADD-LINES");
  563. #ifdef USESTRINGS
  564.   xsaddmsg(scatterplot, ":ADD-STRINGS");
  565. #endif /* USESTRINGS */
  566.   xsaddmsg(scatterplot, ":ADJUST-TO-DATA");
  567.  
  568.   /* COMPOUND-DATA-PROTO */
  569.   compound_data = xsnewproto("COMPOUND-DATA-PROTO", root_object);
  570.   xsaddmsg(compound_data, ":DATA-LENGTH");
  571.   xsaddmsg(compound_data, ":DATA-SEQ");
  572.   xsaddmsg(compound_data, ":MAKE-DATA");
  573.   xsaddmsg(compound_data, ":SELECT-DATA");
  574. }
  575.